;; -*- scheme -*-
; boxed definitions ...

(define-boxed AgentClue
  (in-module "Zed")
  (c-name "ZedAgentClue")
  (gtype-id "ZED_TYPE_AGENT_CLUE")
)

(define-boxed AgentFunctionInfo
  (in-module "Zed")
  (c-name "ZedAgentFunctionInfo")
  (gtype-id "ZED_TYPE_AGENT_FUNCTION_INFO")
)

(define-boxed AgentInstanceInfo
  (in-module "Zed")
  (c-name "ZedAgentInstanceInfo")
  (gtype-id "ZED_TYPE_AGENT_INSTANCE_INFO")
)

(define-boxed AgentModuleInfo
  (in-module "Zed")
  (c-name "ZedAgentModuleInfo")
  (gtype-id "ZED_TYPE_AGENT_MODULE_INFO")
)

(define-boxed AgentScriptInfo
  (in-module "Zed")
  (c-name "ZedAgentScriptInfo")
  (gtype-id "ZED_TYPE_AGENT_SCRIPT_INFO")
)

(define-boxed AgentSessionId
  (in-module "Zed")
  (c-name "ZedAgentSessionId")
  (gtype-id "ZED_TYPE_AGENT_SESSION_ID")
)

(define-boxed AgentTriggerInfo
  (in-module "Zed")
  (c-name "ZedAgentTriggerInfo")
  (gtype-id "ZED_TYPE_AGENT_TRIGGER_INFO")
)

(define-boxed HostProcessInfo
  (in-module "Zed")
  (c-name "ZedHostProcessInfo")
  (gtype-id "ZED_TYPE_HOST_PROCESS_INFO")
)

(define-boxed ImageData
  (in-module "Zed")
  (c-name "ZedImageData")
  (gtype-id "ZED_TYPE_IMAGE_DATA")
)

; interface definitions ...

(define-interface AgentSession
  (in-module "Zed")
  (c-name "ZedAgentSession")
  (gtype-id "ZED_TYPE_AGENT_SESSION")
  (prerequisite "GObject")
)

(define-interface HostSession
  (in-module "Zed")
  (c-name "ZedHostSession")
  (gtype-id "ZED_TYPE_HOST_SESSION")
  (prerequisite "GObject")
)

(define-interface HostSessionBackend
  (in-module "Zed")
  (c-name "ZedHostSessionBackend")
  (gtype-id "ZED_TYPE_HOST_SESSION_BACKEND")
  (prerequisite "GObject")
)

(define-interface HostSessionProvider
  (in-module "Zed")
  (c-name "ZedHostSessionProvider")
  (gtype-id "ZED_TYPE_HOST_SESSION_PROVIDER")
  (prerequisite "GObject")
)

; object definitions ...

(define-object AgentSessionProxy
  (in-module "Zed")
  (parent "GDBusProxy")
  (c-name "ZedAgentSessionProxy")
  (gtype-id "ZED_TYPE_AGENT_SESSION_PROXY")
  (implements "ZedAgentSession")
)

(define-object CodeService
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedCodeService")
  (gtype-id "ZED_TYPE_CODE_SERVICE")
)

(define-object Configuration
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedConfiguration")
  (gtype-id "ZED_TYPE_CONFIGURATION")
)

(define-object ConfigurationAccount
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedConfigurationAccount")
  (gtype-id "ZED_TYPE_CONFIGURATION_ACCOUNT")
)

(define-object Function
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedFunction")
  (gtype-id "ZED_TYPE_FUNCTION")
)

(define-object FunctionSpec
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedFunctionSpec")
  (gtype-id "ZED_TYPE_FUNCTION_SPEC")
)

(define-object HostSessionProxy
  (in-module "Zed")
  (parent "GDBusProxy")
  (c-name "ZedHostSessionProxy")
  (gtype-id "ZED_TYPE_HOST_SESSION_PROXY")
  (implements "ZedHostSession")
)

(define-object HostSessionService
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedHostSessionService")
  (gtype-id "ZED_TYPE_HOST_SESSION_SERVICE")
)

(define-object Module
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedModule")
  (gtype-id "ZED_TYPE_MODULE")
)

(define-object ModuleSpec
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedModuleSpec")
  (gtype-id "ZED_TYPE_MODULE_SPEC")
)

(define-object StorageBackend
  (in-module "Zed")
  (parent "GObject")
  (c-name "ZedStorageBackend")
  (gtype-id "ZED_TYPE_STORAGE_BACKEND")
)

; pointer definitions ...

;; Enumerations and Flags ...

(define-enum HostSessionProviderKind
  (in-module "Zed")
  (c-name "ZedHostSessionProviderKind")
  (gtype-id "ZED_TYPE_HOST_SESSION_PROVIDER_KIND")
  (values
    '("local-system" "ZED_HOST_SESSION_PROVIDER_KIND_LOCAL_SYSTEM")
    '("local-tether" "ZED_HOST_SESSION_PROVIDER_KIND_LOCAL_TETHER")
    '("remote-system" "ZED_HOST_SESSION_PROVIDER_KIND_REMOTE_SYSTEM")
  )
)

(define-flags MemoryProtection
  (in-module "Zed")
  (c-name "ZedMemoryProtection")
  (gtype-id "ZED_TYPE_MEMORY_PROTECTION")
  (values
    '("read" "ZED_MEMORY_PROTECTION_READ")
    '("write" "ZED_MEMORY_PROTECTION_WRITE")
    '("execute" "ZED_MEMORY_PROTECTION_EXECUTE")
  )
)

;; Untyped enumerations and flags ...

(define-enum FruityMessageType
  (in-module "Zed")
  (c-name "ZedFruityMessageType")
  (values
    '("result" "ZED_FRUITY_MESSAGE_TYPE_RESULT")
    '("connect" "ZED_FRUITY_MESSAGE_TYPE_CONNECT")
    '("listen" "ZED_FRUITY_MESSAGE_TYPE_LISTEN")
    '("device-attached" "ZED_FRUITY_MESSAGE_TYPE_DEVICE_ATTACHED")
    '("device-detached" "ZED_FRUITY_MESSAGE_TYPE_DEVICE_DETACHED")
    '("property-list" "ZED_FRUITY_MESSAGE_TYPE_PROPERTY_LIST")
  )
)

(define-enum WinjectorError
  (in-module "Zed")
  (c-name "ZedWinjectorError")
  (values
    '("unknown" "ZED_WINJECTOR_ERROR_UNKNOWN")
    '("execute-failed" "ZED_WINJECTOR_ERROR_EXECUTE_FAILED")
    '("access-denied" "ZED_WINJECTOR_ERROR_ACCESS_DENIED")
    '("failed" "ZED_WINJECTOR_ERROR_FAILED")
  )
)

(define-enum WinjectorPrivilegeLevel
  (in-module "Zed")
  (c-name "ZedWinjectorPrivilegeLevel")
  (values
    '("normal" "ZED_WINJECTOR_PRIVILEGE_LEVEL_NORMAL")
    '("elevated" "ZED_WINJECTOR_PRIVILEGE_LEVEL_ELEVATED")
  )
)

(define-enum FruityResultCode
  (in-module "Zed")
  (c-name "ZedFruityResultCode")
  (values
    '("protocol-error" "ZED_FRUITY_RESULT_CODE_PROTOCOL_ERROR")
    '("success" "ZED_FRUITY_RESULT_CODE_SUCCESS")
    '("connection-refused" "ZED_FRUITY_RESULT_CODE_CONNECTION_REFUSED")
    '("invalid-request" "ZED_FRUITY_RESULT_CODE_INVALID_REQUEST")
  )
)


;; From zed-core.h

(define-function host_session_proxy_get_type
  (c-name "zed_host_session_proxy_get_type")
  (return-type "GType")
)

(define-function host_session_register_object
  (c-name "zed_host_session_register_object")
  (return-type "guint")
  (parameters
    '("void*" "object")
    '("GDBusConnection*" "connection")
    '("const-gchar*" "path")
    '("GError**" "error")
  )
)

(define-function host_process_info_get_type
  (c-name "zed_host_process_info_get_type")
  (return-type "GType")
)

(define-function image_data_get_type
  (c-name "zed_image_data_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedImageData")
  (c-name "zed_image_data_dup")
  (return-type "ZedImageData*")
)

(define-method free
  (of-object "ZedImageData")
  (c-name "zed_image_data_free")
  (return-type "none")
)

(define-method copy
  (of-object "ZedImageData")
  (c-name "zed_image_data_copy")
  (return-type "none")
  (parameters
    '("ZedImageData*" "dest")
  )
)

(define-method destroy
  (of-object "ZedImageData")
  (c-name "zed_image_data_destroy")
  (return-type "none")
)

(define-method dup
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_dup")
  (return-type "ZedHostProcessInfo*")
)

(define-method free
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_free")
  (return-type "none")
)

(define-method copy
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_copy")
  (return-type "none")
  (parameters
    '("ZedHostProcessInfo*" "dest")
  )
)

(define-method destroy
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_destroy")
  (return-type "none")
)

(define-function agent_session_id_get_type
  (c-name "zed_agent_session_id_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentSessionId")
  (c-name "zed_agent_session_id_dup")
  (return-type "ZedAgentSessionId*")
)

(define-method free
  (of-object "ZedAgentSessionId")
  (c-name "zed_agent_session_id_free")
  (return-type "none")
)

(define-function host_session_get_type
  (c-name "zed_host_session_get_type")
  (return-type "GType")
)

(define-method enumerate_processes
  (of-object "ZedHostSession")
  (c-name "zed_host_session_enumerate_processes")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method enumerate_processes_finish
  (of-object "ZedHostSession")
  (c-name "zed_host_session_enumerate_processes_finish")
  (return-type "ZedHostProcessInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method attach_to
  (of-object "ZedHostSession")
  (c-name "zed_host_session_attach_to")
  (return-type "none")
  (parameters
    '("guint" "pid")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method attach_to_finish
  (of-object "ZedHostSession")
  (c-name "zed_host_session_attach_to_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("ZedAgentSessionId*" "result")
    '("GError**" "error")
  )
)

(define-function agent_session_proxy_get_type
  (c-name "zed_agent_session_proxy_get_type")
  (return-type "GType")
)

(define-function agent_session_register_object
  (c-name "zed_agent_session_register_object")
  (return-type "guint")
  (parameters
    '("void*" "object")
    '("GDBusConnection*" "connection")
    '("const-gchar*" "path")
    '("GError**" "error")
  )
)

(define-function agent_module_info_get_type
  (c-name "zed_agent_module_info_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_dup")
  (return-type "ZedAgentModuleInfo*")
)

(define-method free
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_free")
  (return-type "none")
)

(define-method copy
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_copy")
  (return-type "none")
  (parameters
    '("ZedAgentModuleInfo*" "dest")
  )
)

(define-method destroy
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_destroy")
  (return-type "none")
)

(define-function agent_function_info_get_type
  (c-name "zed_agent_function_info_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_dup")
  (return-type "ZedAgentFunctionInfo*")
)

(define-method free
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_free")
  (return-type "none")
)

(define-method copy
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_copy")
  (return-type "none")
  (parameters
    '("ZedAgentFunctionInfo*" "dest")
  )
)

(define-method destroy
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_destroy")
  (return-type "none")
)

(define-function memory_protection_get_type
  (c-name "zed_memory_protection_get_type")
  (return-type "GType")
)

(define-function agent_trigger_info_get_type
  (c-name "zed_agent_trigger_info_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_dup")
  (return-type "ZedAgentTriggerInfo*")
)

(define-method free
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_free")
  (return-type "none")
)

(define-method copy
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_copy")
  (return-type "none")
  (parameters
    '("ZedAgentTriggerInfo*" "dest")
  )
)

(define-method destroy
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_destroy")
  (return-type "none")
)

(define-function agent_script_info_get_type
  (c-name "zed_agent_script_info_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentScriptInfo")
  (c-name "zed_agent_script_info_dup")
  (return-type "ZedAgentScriptInfo*")
)

(define-method free
  (of-object "ZedAgentScriptInfo")
  (c-name "zed_agent_script_info_free")
  (return-type "none")
)

(define-function agent_instance_info_get_type
  (c-name "zed_agent_instance_info_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_dup")
  (return-type "ZedAgentInstanceInfo*")
)

(define-method free
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_free")
  (return-type "none")
)

(define-method copy
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_copy")
  (return-type "none")
  (parameters
    '("ZedAgentInstanceInfo*" "dest")
  )
)

(define-method destroy
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_destroy")
  (return-type "none")
)

(define-function agent_session_get_type
  (c-name "zed_agent_session_get_type")
  (return-type "GType")
)

(define-method close
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_close")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method close_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_close_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method query_modules
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_query_modules")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method query_modules_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_query_modules_finish")
  (return-type "ZedAgentModuleInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method query_module_functions
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_query_module_functions")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method query_module_functions_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_query_module_functions_finish")
  (return-type "ZedAgentFunctionInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method scan_memory_for_pattern
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_scan_memory_for_pattern")
  (return-type "none")
  (parameters
    '("ZedMemoryProtection" "required_protection")
    '("const-char*" "pattern")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method scan_memory_for_pattern_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_scan_memory_for_pattern_finish")
  (return-type "guint64*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method scan_module_for_code_pattern
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_scan_module_for_code_pattern")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("const-char*" "pattern")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method scan_module_for_code_pattern_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_scan_module_for_code_pattern_finish")
  (return-type "guint64*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method read_memory
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_read_memory")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("guint" "size")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method read_memory_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_read_memory_finish")
  (return-type "guint8*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method write_memory
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_write_memory")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("guint8*" "bytes")
    '("int" "bytes_length1")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method write_memory_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_write_memory_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method start_investigation
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_start_investigation")
  (return-type "none")
  (parameters
    '("ZedAgentTriggerInfo*" "start_trigger")
    '("ZedAgentTriggerInfo*" "stop_trigger")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method start_investigation_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_start_investigation_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method stop_investigation
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_stop_investigation")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method stop_investigation_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_stop_investigation_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method attach_script_to
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_attach_script_to")
  (return-type "none")
  (parameters
    '("const-char*" "script_text")
    '("guint64" "address")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method attach_script_to_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_attach_script_to_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("ZedAgentScriptInfo*" "result")
    '("GError**" "error")
  )
)

(define-method detach_script
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_detach_script")
  (return-type "none")
  (parameters
    '("guint" "script_id")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method detach_script_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_detach_script_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method redirect_script_messages_to
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_redirect_script_messages_to")
  (return-type "none")
  (parameters
    '("guint" "script_id")
    '("const-char*" "folder")
    '("guint" "keep_last_n")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method redirect_script_messages_to_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_redirect_script_messages_to_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method set_monitor_enabled
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_set_monitor_enabled")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("gboolean" "enable")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method set_monitor_enabled_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_set_monitor_enabled_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method begin_instance_trace
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_begin_instance_trace")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method begin_instance_trace_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_begin_instance_trace_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method end_instance_trace
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_end_instance_trace")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method end_instance_trace_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_end_instance_trace_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method peek_instances
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_peek_instances")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method peek_instances_finish
  (of-object "ZedAgentSession")
  (c-name "zed_agent_session_peek_instances_finish")
  (return-type "ZedAgentInstanceInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-method init
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_init")
  (return-type "none")
  (parameters
    '("guint" "pid")
    '("const-char*" "name")
    '("ZedImageData*" "small_icon")
    '("ZedImageData*" "large_icon")
  )
)

(define-method get_pid
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_get_pid")
  (return-type "guint")
)

(define-method get_name
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_get_name")
  (return-type "const-char*")
)

(define-method get_small_icon
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_get_small_icon")
  (return-type "none")
  (parameters
    '("ZedImageData*" "result")
  )
)

(define-method get_large_icon
  (of-object "ZedHostProcessInfo")
  (c-name "zed_host_process_info_get_large_icon")
  (return-type "none")
  (parameters
    '("ZedImageData*" "result")
  )
)

(define-method init
  (of-object "ZedAgentSessionId")
  (c-name "zed_agent_session_id_init")
  (return-type "none")
  (parameters
    '("guint" "handle")
  )
)

(define-method get_handle
  (of-object "ZedAgentSessionId")
  (c-name "zed_agent_session_id_get_handle")
  (return-type "guint")
)

(define-method init
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_init")
  (return-type "none")
  (parameters
    '("const-char*" "name")
    '("const-char*" "uid")
    '("guint64" "size")
    '("guint64" "address")
  )
)

(define-method get_name
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_get_name")
  (return-type "const-char*")
)

(define-method get_uid
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_get_uid")
  (return-type "const-char*")
)

(define-method get_size
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_get_size")
  (return-type "guint64")
)

(define-method get_address
  (of-object "ZedAgentModuleInfo")
  (c-name "zed_agent_module_info_get_address")
  (return-type "guint64")
)

(define-method init
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_init")
  (return-type "none")
  (parameters
    '("const-char*" "name")
    '("guint64" "address")
  )
)

(define-method get_name
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_get_name")
  (return-type "const-char*")
)

(define-method get_address
  (of-object "ZedAgentFunctionInfo")
  (c-name "zed_agent_function_info_get_address")
  (return-type "guint64")
)

(define-method init
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_init")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("const-char*" "function_name")
  )
)

(define-method get_module_name
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_get_module_name")
  (return-type "const-char*")
)

(define-method get_function_name
  (of-object "ZedAgentTriggerInfo")
  (c-name "zed_agent_trigger_info_get_function_name")
  (return-type "const-char*")
)

(define-function agent_clue_get_type
  (c-name "zed_agent_clue_get_type")
  (return-type "GType")
)

(define-method dup
  (of-object "ZedAgentClue")
  (c-name "zed_agent_clue_dup")
  (return-type "ZedAgentClue*")
)

(define-method free
  (of-object "ZedAgentClue")
  (c-name "zed_agent_clue_free")
  (return-type "none")
)

(define-method init
  (of-object "ZedAgentClue")
  (c-name "zed_agent_clue_init")
  (return-type "none")
  (parameters
    '("gint" "depth")
    '("guint64" "location")
    '("guint64" "target")
  )
)

(define-method get_depth
  (of-object "ZedAgentClue")
  (c-name "zed_agent_clue_get_depth")
  (return-type "gint")
)

(define-method get_location
  (of-object "ZedAgentClue")
  (c-name "zed_agent_clue_get_location")
  (return-type "guint64")
)

(define-method get_target
  (of-object "ZedAgentClue")
  (c-name "zed_agent_clue_get_target")
  (return-type "guint64")
)

(define-method init
  (of-object "ZedAgentScriptInfo")
  (c-name "zed_agent_script_info_init")
  (return-type "none")
  (parameters
    '("guint" "id")
    '("guint64" "code_address")
    '("guint32" "code_size")
  )
)

(define-method get_id
  (of-object "ZedAgentScriptInfo")
  (c-name "zed_agent_script_info_get_id")
  (return-type "guint")
)

(define-method get_code_address
  (of-object "ZedAgentScriptInfo")
  (c-name "zed_agent_script_info_get_code_address")
  (return-type "guint64")
)

(define-method get_code_size
  (of-object "ZedAgentScriptInfo")
  (c-name "zed_agent_script_info_get_code_size")
  (return-type "guint32")
)

(define-method init
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_init")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("guint" "reference_count")
    '("const-char*" "type_name")
  )
)

(define-method get_address
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_get_address")
  (return-type "guint64")
)

(define-method get_reference_count
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_get_reference_count")
  (return-type "guint")
)

(define-method get_type_name
  (of-object "ZedAgentInstanceInfo")
  (c-name "zed_agent_instance_info_get_type_name")
  (return-type "const-char*")
)

(define-method init
  (of-object "ZedImageData")
  (c-name "zed_image_data_init")
  (return-type "none")
  (parameters
    '("gint" "width")
    '("gint" "height")
    '("gint" "rowstride")
    '("const-char*" "pixels")
  )
)

(define-method get_width
  (of-object "ZedImageData")
  (c-name "zed_image_data_get_width")
  (return-type "gint")
)

(define-method get_height
  (of-object "ZedImageData")
  (c-name "zed_image_data_get_height")
  (return-type "gint")
)

(define-method get_rowstride
  (of-object "ZedImageData")
  (c-name "zed_image_data_get_rowstride")
  (return-type "gint")
)

(define-method get_pixels
  (of-object "ZedImageData")
  (c-name "zed_image_data_get_pixels")
  (return-type "const-char*")
)

(define-function configuration_get_type
  (c-name "zed_configuration_get_type")
  (return-type "GType")
)

(define-function storage_backend_get_type
  (c-name "zed_storage_backend_get_type")
  (return-type "GType")
)

(define-function configuration_new
  (c-name "zed_configuration_new")
  (is-constructor-of "ZedConfiguration")
  (return-type "ZedConfiguration*")
  (parameters
    '("ZedStorageBackend*" "backend")
  )
)

(define-function configuration_construct
  (c-name "zed_configuration_construct")
  (return-type "ZedConfiguration*")
  (parameters
    '("GType" "object_type")
    '("ZedStorageBackend*" "backend")
  )
)

(define-function configuration_account_get_type
  (c-name "zed_configuration_account_get_type")
  (return-type "GType")
)

(define-method get_default_account
  (of-object "ZedConfiguration")
  (c-name "zed_configuration_get_default_account")
  (return-type "ZedConfigurationAccount*")
)

(define-method set_default_account
  (of-object "ZedConfiguration")
  (c-name "zed_configuration_set_default_account")
  (return-type "none")
  (parameters
    '("ZedConfigurationAccount*" "account")
  )
)

(define-method get_backend
  (of-object "ZedConfiguration")
  (c-name "zed_configuration_get_backend")
  (return-type "ZedStorageBackend*")
)

(define-function configuration_account_new
  (c-name "zed_configuration_account_new")
  (is-constructor-of "ZedConfigurationAccount")
  (return-type "ZedConfigurationAccount*")
  (parameters
    '("const-char*" "name")
    '("const-char*" "password")
  )
)

(define-function configuration_account_construct
  (c-name "zed_configuration_account_construct")
  (return-type "ZedConfigurationAccount*")
  (parameters
    '("GType" "object_type")
    '("const-char*" "name")
    '("const-char*" "password")
  )
)

(define-method get_name
  (of-object "ZedConfigurationAccount")
  (c-name "zed_configuration_account_get_name")
  (return-type "const-char*")
)

(define-method get_password
  (of-object "ZedConfigurationAccount")
  (c-name "zed_configuration_account_get_password")
  (return-type "const-char*")
)

(define-method set_password
  (of-object "ZedConfigurationAccount")
  (c-name "zed_configuration_account_set_password")
  (return-type "none")
  (parameters
    '("const-char*" "value")
  )
)

(define-function init
  (c-name "zed_init")
  (return-type "none")
)

(define-function code_service_get_type
  (c-name "zed_code_service_get_type")
  (return-type "GType")
)

(define-function module_spec_get_type
  (c-name "zed_module_spec_get_type")
  (return-type "GType")
)

(define-method add_module_spec
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_module_spec")
  (return-type "none")
  (parameters
    '("ZedModuleSpec*" "module_spec")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method add_module_spec_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_module_spec_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-function module_get_type
  (c-name "zed_module_get_type")
  (return-type "GType")
)

(define-method add_module
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_module")
  (return-type "none")
  (parameters
    '("ZedModule*" "module")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method add_module_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_module_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-function function_get_type
  (c-name "zed_function_get_type")
  (return-type "GType")
)

(define-method add_function_to_module
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_function_to_module")
  (return-type "none")
  (parameters
    '("ZedFunction*" "function")
    '("ZedModule*" "module")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method add_function_to_module_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_function_to_module_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-function function_spec_get_type
  (c-name "zed_function_spec_get_type")
  (return-type "GType")
)

(define-method add_function_spec_to_module
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_function_spec_to_module")
  (return-type "none")
  (parameters
    '("ZedFunctionSpec*" "function_spec")
    '("ZedModuleSpec*" "module_spec")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method add_function_spec_to_module_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_function_spec_to_module_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method add_function
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_function")
  (return-type "none")
  (parameters
    '("ZedFunction*" "func")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method add_function_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_add_function_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method rename_function
  (of-object "ZedCodeService")
  (c-name "zed_code_service_rename_function")
  (return-type "none")
  (parameters
    '("ZedFunction*" "function")
    '("const-char*" "new_name")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method rename_function_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_rename_function_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method find_module_spec_by_uid
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_module_spec_by_uid")
  (return-type "none")
  (parameters
    '("const-char*" "uid")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method find_module_spec_by_uid_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_module_spec_by_uid_finish")
  (return-type "ZedModuleSpec*")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method find_module_by_address
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_module_by_address")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method find_module_by_address_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_module_by_address_finish")
  (return-type "ZedModule*")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method find_module_by_name
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_module_by_name")
  (return-type "none")
  (parameters
    '("const-char*" "name")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method find_module_by_name_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_module_by_name_finish")
  (return-type "ZedModule*")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method find_function_by_address
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_function_by_address")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method find_function_by_address_finish
  (of-object "ZedCodeService")
  (c-name "zed_code_service_find_function_by_address_finish")
  (return-type "ZedFunction*")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-function code_service_new
  (c-name "zed_code_service_new")
  (is-constructor-of "ZedCodeService")
  (return-type "ZedCodeService*")
)

(define-function code_service_construct
  (c-name "zed_code_service_construct")
  (return-type "ZedCodeService*")
  (parameters
    '("GType" "object_type")
  )
)

(define-function module_spec_new
  (c-name "zed_module_spec_new")
  (is-constructor-of "ZedModuleSpec")
  (return-type "ZedModuleSpec*")
  (parameters
    '("const-char*" "name")
    '("const-char*" "uid")
    '("guint64" "size")
  )
)

(define-function module_spec_construct
  (c-name "zed_module_spec_construct")
  (return-type "ZedModuleSpec*")
  (parameters
    '("GType" "object_type")
    '("const-char*" "name")
    '("const-char*" "uid")
    '("guint64" "size")
  )
)

(define-method function_count
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_function_count")
  (return-type "gint")
)

(define-method internal_add_function
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_internal_add_function")
  (return-type "none")
  (parameters
    '("ZedFunctionSpec*" "spec")
  )
)

(define-method to_variant
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_to_variant")
  (return-type "GVariant*")
)

(define-function module_spec_from_variant
  (c-name "zed_module_spec_from_variant")
  (return-type "ZedModuleSpec*")
  (parameters
    '("GVariant*" "variant")
  )
)

(define-method get_name
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_get_name")
  (return-type "const-char*")
)

(define-method get_bare_name
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_get_bare_name")
  (return-type "const-char*")
)

(define-method get_uid
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_get_uid")
  (return-type "const-char*")
)

(define-method get_size
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_get_size")
  (return-type "guint64")
)

(define-method get_functions
  (of-object "ZedModuleSpec")
  (c-name "zed_module_spec_get_functions")
  (return-type "GeeIterable*")
)

(define-function function_spec_new
  (c-name "zed_function_spec_new")
  (is-constructor-of "ZedFunctionSpec")
  (return-type "ZedFunctionSpec*")
  (parameters
    '("const-char*" "name")
    '("guint64" "offset")
  )
)

(define-function function_spec_construct
  (c-name "zed_function_spec_construct")
  (return-type "ZedFunctionSpec*")
  (parameters
    '("GType" "object_type")
    '("const-char*" "name")
    '("guint64" "offset")
  )
)

(define-method internal_rename
  (of-object "ZedFunctionSpec")
  (c-name "zed_function_spec_internal_rename")
  (return-type "none")
  (parameters
    '("const-char*" "name")
  )
)

(define-method to_variant
  (of-object "ZedFunctionSpec")
  (c-name "zed_function_spec_to_variant")
  (return-type "GVariant*")
)

(define-function function_spec_from_variant
  (c-name "zed_function_spec_from_variant")
  (return-type "ZedFunctionSpec*")
  (parameters
    '("GVariant*" "variant")
  )
)

(define-method get_name
  (of-object "ZedFunctionSpec")
  (c-name "zed_function_spec_get_name")
  (return-type "const-char*")
)

(define-method get_offset
  (of-object "ZedFunctionSpec")
  (c-name "zed_function_spec_get_offset")
  (return-type "guint64")
)

(define-function module_new
  (c-name "zed_module_new")
  (is-constructor-of "ZedModule")
  (return-type "ZedModule*")
  (parameters
    '("ZedModuleSpec*" "spec")
    '("guint64" "address")
  )
)

(define-function module_construct
  (c-name "zed_module_construct")
  (return-type "ZedModule*")
  (parameters
    '("GType" "object_type")
    '("ZedModuleSpec*" "spec")
    '("guint64" "address")
  )
)

(define-method find_function_by_name
  (of-object "ZedModule")
  (c-name "zed_module_find_function_by_name")
  (return-type "ZedFunction*")
  (parameters
    '("const-char*" "name")
  )
)

(define-method internal_add_function
  (of-object "ZedModule")
  (c-name "zed_module_internal_add_function")
  (return-type "none")
  (parameters
    '("ZedFunction*" "func")
  )
)

(define-method get_spec
  (of-object "ZedModule")
  (c-name "zed_module_get_spec")
  (return-type "ZedModuleSpec*")
)

(define-method get_address
  (of-object "ZedModule")
  (c-name "zed_module_get_address")
  (return-type "guint64")
)

(define-method get_functions
  (of-object "ZedModule")
  (c-name "zed_module_get_functions")
  (return-type "GeeIterable*")
)

(define-function function_new
  (c-name "zed_function_new")
  (is-constructor-of "ZedFunction")
  (return-type "ZedFunction*")
  (parameters
    '("ZedFunctionSpec*" "spec")
    '("guint64" "address")
  )
)

(define-function function_construct
  (c-name "zed_function_construct")
  (return-type "ZedFunction*")
  (parameters
    '("GType" "object_type")
    '("ZedFunctionSpec*" "spec")
    '("guint64" "address")
  )
)

(define-method get_spec
  (of-object "ZedFunction")
  (c-name "zed_function_get_spec")
  (return-type "ZedFunctionSpec*")
)

(define-method get_address
  (of-object "ZedFunction")
  (c-name "zed_function_get_address")
  (return-type "guint64")
)

(define-function host_session_service_get_type
  (c-name "zed_host_session_service_get_type")
  (return-type "GType")
)

(define-function host_session_service_new_with_default_backends
  (c-name "zed_host_session_service_new_with_default_backends")
  (return-type "ZedHostSessionService*")
)

(define-function host_session_service_construct_with_default_backends
  (c-name "zed_host_session_service_construct_with_default_backends")
  (return-type "ZedHostSessionService*")
  (parameters
    '("GType" "object_type")
  )
)

(define-method start
  (of-object "ZedHostSessionService")
  (c-name "zed_host_session_service_start")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method start_finish
  (of-object "ZedHostSessionService")
  (c-name "zed_host_session_service_start_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method stop
  (of-object "ZedHostSessionService")
  (c-name "zed_host_session_service_stop")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method stop_finish
  (of-object "ZedHostSessionService")
  (c-name "zed_host_session_service_stop_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-function host_session_backend_get_type
  (c-name "zed_host_session_backend_get_type")
  (return-type "GType")
)

(define-method add_backend
  (of-object "ZedHostSessionService")
  (c-name "zed_host_session_service_add_backend")
  (return-type "none")
  (parameters
    '("ZedHostSessionBackend*" "backend")
  )
)

(define-method remove_backend
  (of-object "ZedHostSessionService")
  (c-name "zed_host_session_service_remove_backend")
  (return-type "none")
  (parameters
    '("ZedHostSessionBackend*" "backend")
  )
)

(define-function host_session_service_new
  (c-name "zed_host_session_service_new")
  (is-constructor-of "ZedHostSessionService")
  (return-type "ZedHostSessionService*")
)

(define-function host_session_service_construct
  (c-name "zed_host_session_service_construct")
  (return-type "ZedHostSessionService*")
  (parameters
    '("GType" "object_type")
  )
)

(define-function host_session_provider_kind_get_type
  (c-name "zed_host_session_provider_kind_get_type")
  (return-type "GType")
)

(define-function host_session_provider_get_type
  (c-name "zed_host_session_provider_get_type")
  (return-type "GType")
)

(define-method create
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_create")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method create_finish
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_create_finish")
  (return-type "ZedHostSession*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method obtain_agent_session
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_obtain_agent_session")
  (return-type "none")
  (parameters
    '("ZedAgentSessionId*" "id")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method obtain_agent_session_finish
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_obtain_agent_session_finish")
  (return-type "ZedAgentSession*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-method get_name
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_get_name")
  (return-type "const-char*")
)

(define-method get_icon
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_get_icon")
  (return-type "ZedImageData*")
)

(define-method get_kind
  (of-object "ZedHostSessionProvider")
  (c-name "zed_host_session_provider_get_kind")
  (return-type "ZedHostSessionProviderKind")
)

(define-method start
  (of-object "ZedHostSessionBackend")
  (c-name "zed_host_session_backend_start")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method start_finish
  (of-object "ZedHostSessionBackend")
  (c-name "zed_host_session_backend_start_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-method stop
  (of-object "ZedHostSessionBackend")
  (c-name "zed_host_session_backend_stop")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-method stop_finish
  (of-object "ZedHostSessionBackend")
  (c-name "zed_host_session_backend_stop_finish")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-function storage_backend_new
  (c-name "zed_storage_backend_new")
  (is-constructor-of "ZedStorageBackend")
  (return-type "ZedStorageBackend*")
)

(define-function storage_backend_construct
  (c-name "zed_storage_backend_construct")
  (return-type "ZedStorageBackend*")
  (parameters
    '("GType" "object_type")
  )
)

(define-method read
  (of-object "ZedStorageBackend")
  (c-name "zed_storage_backend_read")
  (return-type "GVariant*")
  (parameters
    '("const-char*" "key")
  )
)

(define-method write
  (of-object "ZedStorageBackend")
  (c-name "zed_storage_backend_write")
  (return-type "none")
  (parameters
    '("const-char*" "key")
    '("GVariant*" "val")
  )
)

(define-method forget
  (of-object "ZedStorageBackend")
  (c-name "zed_storage_backend_forget")
  (return-type "none")
  (parameters
    '("const-char*" "key")
  )
)

(define-function storage_backend_get_data_directory
  (c-name "zed_storage_backend_get_data_directory")
  (return-type "char*")
)

(define-virtual enumerate_processes
  (of-object "ZedHostSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual enumerate_processes_finish
  (of-object "ZedHostSession")
  (return-type "ZedHostProcessInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual attach_to
  (of-object "ZedHostSession")
  (return-type "none")
  (parameters
    '("guint" "pid")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual attach_to_finish
  (of-object "ZedHostSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("ZedAgentSessionId*" "result")
    '("GError**" "error")
  )
)

(define-virtual close
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual close_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual query_modules
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual query_modules_finish
  (of-object "ZedAgentSession")
  (return-type "ZedAgentModuleInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual query_module_functions
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual query_module_functions_finish
  (of-object "ZedAgentSession")
  (return-type "ZedAgentFunctionInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual scan_memory_for_pattern
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("ZedMemoryProtection" "required_protection")
    '("const-char*" "pattern")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual scan_memory_for_pattern_finish
  (of-object "ZedAgentSession")
  (return-type "guint64*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual scan_module_for_code_pattern
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("const-char*" "pattern")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual scan_module_for_code_pattern_finish
  (of-object "ZedAgentSession")
  (return-type "guint64*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual read_memory
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("guint" "size")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual read_memory_finish
  (of-object "ZedAgentSession")
  (return-type "guint8*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual write_memory
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("guint64" "address")
    '("guint8*" "bytes")
    '("int" "bytes_length1")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual write_memory_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual start_investigation
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("ZedAgentTriggerInfo*" "start_trigger")
    '("ZedAgentTriggerInfo*" "stop_trigger")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual start_investigation_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual stop_investigation
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual stop_investigation_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual attach_script_to
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("const-char*" "script_text")
    '("guint64" "address")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual attach_script_to_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("ZedAgentScriptInfo*" "result")
    '("GError**" "error")
  )
)

(define-virtual detach_script
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("guint" "script_id")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual detach_script_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual redirect_script_messages_to
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("guint" "script_id")
    '("const-char*" "folder")
    '("guint" "keep_last_n")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual redirect_script_messages_to_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual set_monitor_enabled
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("const-char*" "module_name")
    '("gboolean" "enable")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual set_monitor_enabled_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual begin_instance_trace
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual begin_instance_trace_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual end_instance_trace
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual end_instance_trace_finish
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual peek_instances
  (of-object "ZedAgentSession")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual peek_instances_finish
  (of-object "ZedAgentSession")
  (return-type "ZedAgentInstanceInfo*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("int*" "result_length1")
    '("GError**" "error")
  )
)

(define-virtual finalize
  (of-object "ZedProtocolJid")
  (return-type "none")
)

(define-virtual register_handlers
  (of-object "ZedBaseService")
  (return-type "none")
)

(define-virtual start
  (of-object "ZedHostSessionBackend")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual start_finish
  (of-object "ZedHostSessionBackend")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-virtual stop
  (of-object "ZedHostSessionBackend")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual stop_finish
  (of-object "ZedHostSessionBackend")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
  )
)

(define-virtual create
  (of-object "ZedHostSessionProvider")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual create_finish
  (of-object "ZedHostSessionProvider")
  (return-type "ZedHostSession*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual obtain_agent_session
  (of-object "ZedHostSessionProvider")
  (return-type "none")
  (parameters
    '("ZedAgentSessionId*" "id")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual obtain_agent_session_finish
  (of-object "ZedHostSessionProvider")
  (return-type "ZedAgentSession*")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual get_name
  (of-object "ZedHostSessionProvider")
  (return-type "const-char*")
)

(define-virtual get_icon
  (of-object "ZedHostSessionProvider")
  (return-type "ZedImageData*")
)

(define-virtual get_kind
  (of-object "ZedHostSessionProvider")
  (return-type "ZedHostSessionProviderKind")
)

(define-virtual enable_listen_mode
  (of-object "ZedFruityClient")
  (return-type "none")
  (parameters
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual enable_listen_mode_finish
  (of-object "ZedFruityClient")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual connect_to_port
  (of-object "ZedFruityClient")
  (return-type "none")
  (parameters
    '("guint" "device_id")
    '("guint" "port")
    '("GAsyncReadyCallback" "_callback_")
    '("gpointer" "_user_data_")
  )
)

(define-virtual connect_to_port_finish
  (of-object "ZedFruityClient")
  (return-type "none")
  (parameters
    '("GAsyncResult*" "_res_")
    '("GError**" "error")
  )
)

(define-virtual dispatch_message
  (of-object "ZedFruityClient")
  (return-type "none")
  (parameters
    '("ZedFruityClientMessage*" "msg")
    '("GError**" "error")
  )
)

(define-virtual get_protocol_version
  (of-object "ZedFruityClient")
  (return-type "guint")
)

(define-virtual finalize
  (of-object "ZedFruityClientMessage")
  (return-type "none")
)

(define-virtual finalize
  (of-object "ZedWindowsProcessBackend")
  (return-type "none")
)

(define-virtual finalize
  (of-object "ZedWinjectorTemporaryDirectory")
  (return-type "none")
)

(define-virtual finalize
  (of-object "ZedWinjectorTemporaryFile")
  (return-type "none")
)


